

<!DOCTYPE html>
<html lang="zh-CN" data-default-color-scheme=auto>



<head>
  <meta charset="UTF-8">
  <link rel="apple-touch-icon" sizes="76x76" href="https://dwj666.cn/%E6%A3%AE%E6%9E%97.png">
  <link rel="icon" href="https://dwj666.cn/%E6%A3%AE%E6%9E%97.png">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  
  <meta name="theme-color" content="#2f4154">
  <meta name="description" content="主要包括软件过程与过程模型、软件开发方法、软件工具与软件开发环境、软件项目管理相关知识、风险管理、软件度量等，考前知识点梳理和复习。">
  <meta name="author" content="John Doe">
  <meta name="keywords" content="">
  <meta name="description" content="主要包括软件过程与过程模型、软件开发方法、软件工具与软件开发环境、软件项目管理相关知识、风险管理、软件度量等，考前知识点梳理和复习。">
<meta property="og:type" content="article">
<meta property="og:title" content="软件设计师-软件工程梳理一">
<meta property="og:url" content="http://example.com/2023/02/10/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B%E7%9F%A5%E8%AF%86%E7%82%B9%E6%A2%B3%E7%90%86/index.html">
<meta property="og:site_name" content="藏色的个人博客">
<meta property="og:description" content="主要包括软件过程与过程模型、软件开发方法、软件工具与软件开发环境、软件项目管理相关知识、风险管理、软件度量等，考前知识点梳理和复习。">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2023-02-10T03:01:50.391Z">
<meta property="article:modified_time" content="2023-02-10T03:01:55.279Z">
<meta property="article:author" content="John Doe">
<meta name="twitter:card" content="summary_large_image">
  
  <title>软件设计师-软件工程梳理一 - 藏色的个人博客</title>

  <link  rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4/dist/css/bootstrap.min.css" />


  <link  rel="stylesheet" href="https://cdn.jsdelivr.net/npm/github-markdown-css@4/github-markdown.min.css" />
  <link  rel="stylesheet" href="/hexo-gujijih/lib/hint/hint.min.css" />

  
    
    
      
      <link  rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js@10/styles/github-gist.min.css" />
    
  

  
    <link  rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3/dist/jquery.fancybox.min.css" />
  


<!-- 主题依赖的图标库，不要自行修改 -->

<link rel="stylesheet" href="//at.alicdn.com/t/font_1749284_ba1fz6golrf.css">



<link rel="stylesheet" href="//at.alicdn.com/t/font_1736178_kmeydafke9r.css">


<link  rel="stylesheet" href="/hexo-gujijih/css/main.css" />

<!-- 自定义样式保持在最底部 -->


  <script id="fluid-configs">
    var Fluid = window.Fluid || {};
    var CONFIG = {"hostname":"example.com","root":"/hexo-gujijih/","version":"1.8.12","typing":{"enable":true,"typeSpeed":70,"cursorChar":"_","loop":false},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"right","visible":"hover","icon":""},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"copy_btn":true,"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":0},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":false,"baidu":null,"google":null,"gtag":null,"tencent":{"sid":null,"cid":null},"woyaola":null,"cnzz":null,"leancloud":{"app_id":null,"app_key":null,"server_url":null,"path":"window.location.pathname"}},"search_path":"/hexo-gujijih/local-search.xml"};
  </script>
  <script  src="/hexo-gujijih/js/utils.js" ></script>
  <script  src="/hexo-gujijih/js/color-schema.js" ></script>
<meta name="generator" content="Hexo 5.4.0"></head>


<body>
  <header style="height: 70vh;">
    <nav id="navbar" class="navbar fixed-top  navbar-expand-lg navbar-dark scrolling-navbar">
  <div class="container">
    <a class="navbar-brand" href="/hexo-gujijih/">
      <strong>藏色的个人博客</strong>
    </a>

    <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse"
            data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <div class="animated-icon"><span></span><span></span><span></span></div>
    </button>

    <!-- Collapsible content -->
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav ml-auto text-center">
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/hexo-gujijih/">
                <i class="iconfont icon-home-fill"></i>
                首页
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/hexo-gujijih/archives/">
                <i class="iconfont icon-archive-fill"></i>
                归档
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/hexo-gujijih/categories/">
                <i class="iconfont icon-category-fill"></i>
                分类
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/hexo-gujijih/tags/">
                <i class="iconfont icon-tags-fill"></i>
                标签
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="/hexo-gujijih/about/">
                <i class="iconfont icon-user-fill"></i>
                关于
              </a>
            </li>
          
        
        
          <li class="nav-item" id="search-btn">
            <a class="nav-link" target="_self" href="javascript:;" data-toggle="modal" data-target="#modalSearch" aria-label="Search">
              &nbsp;<i class="iconfont icon-search"></i>&nbsp;
            </a>
          </li>
        
        
          <li class="nav-item" id="color-toggle-btn">
            <a class="nav-link" target="_self" href="javascript:;" aria-label="Color Toggle">&nbsp;<i
                class="iconfont icon-dark" id="color-toggle-icon"></i>&nbsp;</a>
          </li>
        
      </ul>
    </div>
  </div>
</nav>

    <div class="banner" id="banner" parallax=true
         style="background: url('https://dwj666.cn/dmfj.jpg') no-repeat center center;
           background-size: cover;">
      <div class="full-bg-img">
        <div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)">
          <div class="page-header text-center fade-in-up">
            <span class="h2" id="subtitle" title="软件设计师-软件工程梳理一">
              
            </span>

            
              <div class="mt-3">
  
  
    <span class="post-meta">
      <i class="iconfont icon-date-fill" aria-hidden="true"></i>
      <time datetime="2023-02-10 11:01" pubdate>
        2023年2月10日 上午
      </time>
    </span>
  
</div>

<div class="mt-1">
  
    <span class="post-meta mr-2">
      <i class="iconfont icon-chart"></i>
      2.2k 字
    </span>
  

  
    <span class="post-meta mr-2">
      <i class="iconfont icon-clock-fill"></i>
      
      
      7 分钟
    </span>
  

  
  
    
      <!-- 不蒜子统计文章PV -->
      <span id="busuanzi_container_page_pv" style="display: none">
        <i class="iconfont icon-eye" aria-hidden="true"></i>
        <span id="busuanzi_value_page_pv"></span> 次
      </span>
    
  
</div>

            
          </div>

          
        </div>
      </div>
    </div>
  </header>

  <main>
    
      

<div class="container-fluid nopadding-x">
  <div class="row nomargin-x">
    <div class="d-none d-lg-block col-lg-2"></div>
    <div class="col-lg-8 nopadding-x-md">
      <div class="container nopadding-x-md" id="board-ctn">
        <div class="py-5" id="board">
          <article class="post-content mx-auto">
            <!-- SEO header -->
            <h1 style="display: none">软件设计师-软件工程梳理一</h1>
            
              <p class="note note-info">
                
                  本文最后更新于：2023年2月10日 上午
                
              </p>
            
            <div class="markdown-body">
              <p>主要包括软件过程与过程模型、软件开发方法、软件工具与软件开发环境、软件项目管理相关知识、风险管理、软件度量等，考前知识点梳理和复习。</p>
<span id="more"></span>
<h3 id="计算机软件"><a href="#计算机软件" class="headerlink" title="计算机软件"></a>计算机软件</h3><h4 id="系统软件"><a href="#系统软件" class="headerlink" title="系统软件"></a>系统软件</h4><p>和计算机硬件大量交互；多用户大量使用；需要调度、资源共享和复杂进程管理的同步操作；复杂的数据结构以及多种外部接口。</p>
<h4 id="应用软件"><a href="#应用软件" class="headerlink" title="应用软件"></a>应用软件</h4><p>应用软件是解决特定业务需要的独立应用程序。业务功能的实时控制.</p>
<h4 id="工程-科学软件软件"><a href="#工程-科学软件软件" class="headerlink" title="工程/科学软件软件"></a>工程/科学软件软件</h4><p>这类软件通常带有“数值计算”算法的特征。</p>
<h4 id="Web应用软件"><a href="#Web应用软件" class="headerlink" title="Web应用软件"></a>Web应用软件</h4><p>一类以网络为中心的软件，其概念涵盖了宽泛的应用程序产品。</p>
<h4 id="人工智能软件"><a href="#人工智能软件" class="headerlink" title="人工智能软件"></a>人工智能软件</h4><p>利用非数值算法解决计算和直接分析无法解决的复杂问题。这个领域的应用包括机器人、专家系统、模式识别、人工神经网络、定理证明和博弈等。</p>
<h3 id="软件工程基本原理"><a href="#软件工程基本原理" class="headerlink" title="软件工程基本原理"></a>软件工程基本原理</h3><h4 id="开发人员应少而精"><a href="#开发人员应少而精" class="headerlink" title="开发人员应少而精"></a>开发人员应少而精</h4><p>当开发小组为N时，可能的通信信道为N(N-1)/2</p>
<h3 id="软件生命周期"><a href="#软件生命周期" class="headerlink" title="软件生命周期"></a>软件生命周期</h3><h4 id="1-可行性分析及其目标"><a href="#1-可行性分析及其目标" class="headerlink" title="1.可行性分析及其目标"></a>1.可行性分析及其目标</h4><p>目标：确定软件的开发目标及其可行性</p>
<p>参加人员：用户、项目负责人和系统分析师</p>
<p>产出：<code>可行性分析报告</code>和<code>项目开发计划</code></p>
<h4 id="2-需求分析"><a href="#2-需求分析" class="headerlink" title="2.需求分析"></a>2.需求分析</h4><p>目标：不是具体解决问题，而是准确地确定软件系统必须做什么，确定软件系统的功能、性能、数据和界面等要求，从而确定系统的逻辑模型。</p>
<p>参加人员：用户、项目负责人和系统分析师</p>
<p>产出：<code>软件需求说明书</code></p>
<h4 id="3-概要设计"><a href="#3-概要设计" class="headerlink" title="3.概要设计"></a>3.概要设计</h4><p>目的：开发人员要把确定的各项功能需求转换成需要的体系结构</p>
<p>参与人员：系统分析师和软件设计师</p>
<p>产出：概要设计说明书</p>
<h4 id="4-详细设计"><a href="#4-详细设计" class="headerlink" title="4.详细设计"></a>4.详细设计</h4><p>目的：对每个模块完成的功能进行具体描述，要把功能描述转变为精确的、结构化的过程描述。</p>
<p>参与人员：软件设计师和程序员</p>
<p>产出：详细设计文档</p>
<h4 id="5-编码"><a href="#5-编码" class="headerlink" title="5.编码"></a>5.编码</h4><p>目的：把每个模块的控制结构转换成计算机可接受的程序代码</p>
<h4 id="6-测试"><a href="#6-测试" class="headerlink" title="6.测试"></a>6.测试</h4><p>目的：设计测试用例的基础上检查软件的各个组成部分。</p>
<p>参与人员：软件设计师和系统分析师</p>
<p>产出：软件测试计划、测试用例和软件测试报告</p>
<h3 id="能力成熟度模型-cmm"><a href="#能力成熟度模型-cmm" class="headerlink" title="能力成熟度模型(cmm)"></a>能力成熟度模型(cmm)</h3><p>初始级杂乱无章，混乱，几乎没有明确的步骤，依赖个人努力和英雄式核心人物可</p>
<p>重复级建立了基本的项目管理过程和实践来跟踪项目费用、进度和功能特效，有必要的过程准则来重复以前在同类项目中的成功</p>
<p>已定义级管理和工程两方面的软件过程已经文档化、标准化，并综合成整个软件开发组织的标准软件过程。所有项目都采用根据实际情况修改后得到的标准软件过程来开发和维护软件。</p>
<p>已管理级制定了软件过程和产品质量的详细度量标准。软件过程的产品质量都被开发组织的成员所理解和控制</p>
<p>优化级加强了定量分析，通过来自过程质量反馈和来自新观念、新技术的反馈使过程能不断持续地改进</p>
<h3 id="能力成熟度模型-cmmi"><a href="#能力成熟度模型-cmmi" class="headerlink" title="能力成熟度模型(cmmi)"></a>能力成熟度模型(cmmi)</h3><h4 id="阶段式模型"><a href="#阶段式模型" class="headerlink" title="阶段式模型"></a>阶段式模型</h4><p>初始的过程不可预测且缺乏控制</p>
<p>已管理的过程为项目服务</p>
<p>已定义的过程为组织服务</p>
<p>定量管理的过程已度量和控制</p>
<p>优化的集中于过程改进</p>
<h4 id="连续式模型"><a href="#连续式模型" class="headerlink" title="连续式模型"></a>连续式模型</h4><p>Cl0未完成的过程域未执行或未得到</p>
<p>CL1中定义的所有目标CL1 已执行的过程将可标识的输入工作产品转换成可标识的输出工作产品，以实现支持过程域的特定目标</p>
<p>CL2 已管理的目标集中于已管理的过程的制度化。</p>
<p>CL3 已定义级的其共性目标集中于已定义的过程的制度化。</p>
<p>CL4定量管理的可定量管理的过程的制度化</p>
<p>CL5优化的使用量化（统计学）手段改变和优化过程域</p>
<h3 id="软件过程模型"><a href="#软件过程模型" class="headerlink" title="软件过程模型"></a>软件过程模型</h3><h4 id="瀑布模型"><a href="#瀑布模型" class="headerlink" title="瀑布模型"></a>瀑布模型</h4><p>功能：严格遵循软件生命周期各阶段的固定顺序，一个阶段完成在进入另一个阶段</p>
<p>适用于：需求明确、二次开发项目和原型法配合使用</p>
<h4 id="演化模型"><a href="#演化模型" class="headerlink" title="演化模型"></a>演化模型</h4><p>功能：是一种原型化开发，但与快速原型不同的是，快速原型模型在获得真实需求时， 就将抛弃原型。而演化模型则不然，它将从初始的模型中逐渐演化为最终软件产品，是一种“渐进 式”原型法。</p>
<p>适用于：需求不明确的项目</p>
<h4 id="增量模型"><a href="#增量模型" class="headerlink" title="增量模型"></a>增量模型</h4><p>功能：相对于原型法而言，这种模型其实是从系统开发的另一个方面看待 问题，原型法关注点是“制作一个原型”，而增量模型的关注点是“系统的功能模块不是一次完成 的，而是一块一块开发，以增加的方式进行的”</p>
<p>适用：需求不明确的项目</p>
<h4 id="螺旋模型"><a href="#螺旋模型" class="headerlink" title="螺旋模型"></a>螺旋模型</h4><p>功能：结合了瀑布模型和演化模型的优点，最主要的特点在于加入了风险分析。</p>
<h4 id="喷泉模型"><a href="#喷泉模型" class="headerlink" title="喷泉模型"></a>喷泉模型</h4><p>功能：主要用于描述面向对象的开发过程，最核心的特点是迭代。所有的开发活动没有明显的边界，允许各种开发活动交叉进行。 </p>
<h3 id="软件开发方法"><a href="#软件开发方法" class="headerlink" title="软件开发方法"></a>软件开发方法</h3><h4 id="结构化开发方法"><a href="#结构化开发方法" class="headerlink" title="结构化开发方法"></a>结构化开发方法</h4><p>由结构化分析、结构化设计、结构化程序设计构成；是一种<code>面向数据流</code>的开发方法；指导思想是自顶向下，逐层分解。</p>
<h4 id="Jackson方法"><a href="#Jackson方法" class="headerlink" title="Jackson方法"></a>Jackson方法</h4><p>是一种<code>面向数据结构</code>的开发方法</p>
<h4 id="原型方法"><a href="#原型方法" class="headerlink" title="原型方法"></a>原型方法</h4><p>适用于用户需求不清，需求经常变化的情况；当系统规模不是很大也不太复杂时，采用该方法比较好。</p>
<h4 id="面向对象方法"><a href="#面向对象方法" class="headerlink" title="面向对象方法"></a>面向对象方法</h4><p>UML</p>
<h4 id="敏捷方法"><a href="#敏捷方法" class="headerlink" title="敏捷方法"></a>敏捷方法</h4><p>目标：尽可能早地、持续地对有价值的软件的交付。</p>
<p>1.极限编程</p>
<blockquote>
<p>4大价值观：沟通、简单性、反馈和勇气</p>
<p>5大原则：快速反馈、简单性假设、逐步修改、提倡更改和优质工作</p>
<p>12个最佳实践： 计划游戏（快速制定计划、随着细节的不断变化而完善）、小型发布（系统的设计要能够尽可能早的交付）、隐喻（找到合适的比喻传达信息）、简单设计（只处理当前的需求，使设计保持简单）、测试先行（先写测试代码，然后再编写程序）、重构（重新审视需求和设计，重新明确地描述它们以符合新的和现有的需求）、结对编程、集体代码所有制、持续集成（可以按日甚至按小时为客户提供可运行的版本）、每周工作40个小时、现场客户和编码标准。</p>
</blockquote>
<p>2.水晶法（Crystal）</p>
<p>每一个不同的项目都需要一套不同的策略、约定和方法论。</p>
<p>3.并列争求法（Scrum）</p>
<p>把每30天一次的迭代称为一个“冲刺”，并按需求的优先级别来实现产品。</p>
<p>4.自适应软件开发（Asd）</p>

            </div>
            <hr>
            <div>
              <div class="post-metas mb-3">
                
                  <div class="post-meta mr-3">
                    <i class="iconfont icon-category"></i>
                    
                      <a class="hover-with-bg" href="/hexo-gujijih/categories/%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1%E5%B8%88/">软件设计师</a>
                    
                  </div>
                
                
              </div>
              
                <p class="note note-warning">
                  
                    本博客所有文章除特别声明外，均采用 <a target="_blank" href="https://creativecommons.org/licenses/by-sa/4.0/deed.zh" rel="nofollow noopener noopener">CC BY-SA 4.0 协议</a> ，转载请注明出处！
                  
                </p>
              
              
                <div class="post-prevnext">
                  <article class="post-prev col-6">
                    
                    
                      <a href="/hexo-gujijih/2023/02/10/%E9%9D%A2%E8%AF%95%E5%BF%85%E9%97%AE%E4%B9%8Bjvm%E4%B8%8E%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/">
                        <i class="iconfont icon-arrowleft"></i>
                        <span class="hidden-mobile">面试必问之jvm与性能优化</span>
                        <span class="visible-mobile">上一篇</span>
                      </a>
                    
                  </article>
                  <article class="post-next col-6">
                    
                    
                      <a href="/hexo-gujijih/2023/02/10/%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E6%96%B9%E6%B3%95/">
                        <span class="hidden-mobile">软件开发方法</span>
                        <span class="visible-mobile">下一篇</span>
                        <i class="iconfont icon-arrowright"></i>
                      </a>
                    
                  </article>
                </div>
              
            </div>

            
              <!-- Comments -->
              <article class="comments" id="comments" lazyload>
                
                  
                
                
  <div id="twikoo"></div>
  <script type="text/javascript">
    Fluid.utils.loadComments('#comments', function() {
      Fluid.utils.createScript('https://cdn.jsdelivr.net/npm/twikoo@1/dist/twikoo.all.min.js', function() {
        var options = Object.assign(
          {"envId":"blog9528-5gm3bi65f33458fb","region":"ap-shanghai","path":"window.location.pathname"},
          {
            el: '#twikoo',
            path: 'window.location.pathname',
            onCommentLoaded: function() {
              Fluid.plugins.initFancyBox('#twikoo .tk-content img:not(.tk-owo-emotion)');
            }
          }
        )
        twikoo.init(options)
      });
    });
  </script>
  <noscript>Please enable JavaScript to view the comments</noscript>


              </article>
            
          </article>
        </div>
      </div>
    </div>
    
      <div class="d-none d-lg-block col-lg-2 toc-container" id="toc-ctn">
        <div id="toc">
  <p class="toc-header"><i class="iconfont icon-list"></i>&nbsp;目录</p>
  <div class="toc-body" id="toc-body"></div>
</div>

      </div>
    
  </div>
</div>

<!-- Custom -->


    

    
      <a id="scroll-top-button" aria-label="TOP" href="#" role="button">
        <i class="iconfont icon-arrowup" aria-hidden="true"></i>
      </a>
    

    
      <div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel"
     aria-hidden="true">
  <div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
    <div class="modal-content">
      <div class="modal-header text-center">
        <h4 class="modal-title w-100 font-weight-bold">搜索</h4>
        <button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body mx-3">
        <div class="md-form mb-5">
          <input type="text" id="local-search-input" class="form-control validate">
          <label data-error="x" data-success="v"
                 for="local-search-input">关键词</label>
        </div>
        <div class="list-group" id="local-search-result"></div>
      </div>
    </div>
  </div>
</div>
    

    
  </main>

  <footer class="text-center mt-5 py-3">
  <div class="footer-content">
     <a href="https://hexo.io" target="_blank" rel="nofollow noopener"><span>Hexo</span></a> <i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a> 
  </div>
  
  <div class="statistics">
    
    

    
      
        <!-- 不蒜子统计PV -->
        <span id="busuanzi_container_site_pv" style="display: none">
            总访问量 
            <span id="busuanzi_value_site_pv"></span>
             次
          </span>
      
      
        <!-- 不蒜子统计UV -->
        <span id="busuanzi_container_site_uv" style="display: none">
            总访客数 
            <span id="busuanzi_value_site_uv"></span>
             人
          </span>
      
    
  </div>


  

  
</footer>


  <!-- SCRIPTS -->
  
  <script  src="https://cdn.jsdelivr.net/npm/nprogress@0/nprogress.min.js" ></script>
  <link  rel="stylesheet" href="https://cdn.jsdelivr.net/npm/nprogress@0/nprogress.min.css" />

  <script>
    NProgress.configure({"showSpinner":false,"trickleSpeed":100})
    NProgress.start()
    window.addEventListener('load', function() {
      NProgress.done();
    })
  </script>


<script  src="https://cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js" ></script>
<script  src="https://cdn.jsdelivr.net/npm/bootstrap@4/dist/js/bootstrap.min.js" ></script>
<script  src="/hexo-gujijih/js/events.js" ></script>
<script  src="/hexo-gujijih/js/plugins.js" ></script>

<!-- Plugins -->


  <script  src="/hexo-gujijih/js/local-search.js" ></script>



  
    <script  src="/hexo-gujijih/js/img-lazyload.js" ></script>
  



  



  
    <script  src="https://cdn.jsdelivr.net/npm/tocbot@4/dist/tocbot.min.js" ></script>
  
  
    <script  src="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3/dist/jquery.fancybox.min.js" ></script>
  
  
    <script  src="https://cdn.jsdelivr.net/npm/anchor-js@4/anchor.min.js" ></script>
  
  
    <script defer src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js" ></script>
  



  <script defer src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js" ></script>




  <script  src="https://cdn.jsdelivr.net/npm/typed.js@2/lib/typed.min.js" ></script>
  <script>
    (function (window, document) {
      var typing = Fluid.plugins.typing;
      var title = document.getElementById('subtitle').title;
      
      typing(title)
      
    })(window, document);
  </script>















<!-- 主题的启动项 保持在最底部 -->
<script  src="/hexo-gujijih/js/boot.js" ></script>


</body>
</html>
